depth first search 백준 1520, 내리막 길 - DFS, DP, 메모이제이션 dp[y][x]: 시작 지점 [0][0] -> [y][x] 지점으로 내리막 길로 가는 경로 개수 dp[y][x] = 0 이면, 해당 [y][x]로 내리막 길로 갈 수 없음 출력 값 h = dp[m-1][n-1] DFS + DP 현재 지점 [y][x]가 끝 지점이면, DFS 탐색 종료 dp[y][x]: [y][x] 지점 -> 끝 지점으로 내리막 길로 가는 경로 개수 현재 지점 [y][x]에 대... DPDFS알고리즘그래프 탐색depth first search메모이제이션dynamic programming동적 계획법백준 1520 내리막 길깊이 우선 탐색memoization코딩 테스트DFS [leetCode] 733. Flood Fill An image is represented by an m x n integer grid image where image[i][j] represents the pixel value of the image. You are also given three integers sr, sc, and newColor. You should perform a flood fill on the image start... breadth first searchBFSdepth first searchDFSBFS [leetcode] Convert BST to Greater Tree 유의할점 right가 먼저인 중위 순회 어려운 문제 아님. 큰 수는 오른쪽 서브트리에 있으니 오른쪽 서브트리를 순회해서 얻은 누적합을 루트에 더하면 된다는 생각으로 풀었다. Given the root of a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is chang... recursiontreedepth first searchBinary Search TreeBinary Search Tree 백준 3584, 가장 가까운 공통 조상 - Tree, DFS, DP, LCA (Lowest Common Ancestor) 입력 트리 노드 정보가 "부모 노드 - 자식 노드" 형태로 주어짐 1) 모든 노드의 깊이, 2^0 번째 부모 (직계 부모) 저장 2) 모든 노드의 2^i 번째 부모 저장 DP 배열 (Sparse Table): int[][] parent = new int[n][21]; n: 트리 노드 개수, 21: 트리 깊이 20이면 충분 parent[nodeIdx][i]: 노드의 2^i 번째 부모 노드의 2... 깊이 우선 탐색Lowest Common Ancestor백준 3584 가장 가까운 공통 조상알고리즘최소 공통 조상dynamic programming코딩 테스트tree그래프 탐색depth first search트리DFS다이나믹 프로그래밍DPLCADFS 백준 1926, 그림 - DFS & BFS 2중 for문으로 도화지 [0][0] ~ [n-1][m-1] 확인 => 해당 지점이 그림(1, true)이고 아직 방문 안한 경우, 해당 지점을 기준으로 탐색 (DFS / BFS) 수행 1) DFS 재귀함수 해당 지점을 기준으로 상하좌우 확인 상하좌우 각각에서 도화지 범위 안이고, 그림이고, 아직 방문 안한 경우, 탐색 확장해나감 (재귀 호출) 2) BFS Queue Queue가 empty ... 깊이 우선 탐색DFS너비 우선 탐색breadth first searchdepth first search백준 1926 그림BFS알고리즘그래프 탐색코딩 테스트BFS
백준 1520, 내리막 길 - DFS, DP, 메모이제이션 dp[y][x]: 시작 지점 [0][0] -> [y][x] 지점으로 내리막 길로 가는 경로 개수 dp[y][x] = 0 이면, 해당 [y][x]로 내리막 길로 갈 수 없음 출력 값 h = dp[m-1][n-1] DFS + DP 현재 지점 [y][x]가 끝 지점이면, DFS 탐색 종료 dp[y][x]: [y][x] 지점 -> 끝 지점으로 내리막 길로 가는 경로 개수 현재 지점 [y][x]에 대... DPDFS알고리즘그래프 탐색depth first search메모이제이션dynamic programming동적 계획법백준 1520 내리막 길깊이 우선 탐색memoization코딩 테스트DFS [leetCode] 733. Flood Fill An image is represented by an m x n integer grid image where image[i][j] represents the pixel value of the image. You are also given three integers sr, sc, and newColor. You should perform a flood fill on the image start... breadth first searchBFSdepth first searchDFSBFS [leetcode] Convert BST to Greater Tree 유의할점 right가 먼저인 중위 순회 어려운 문제 아님. 큰 수는 오른쪽 서브트리에 있으니 오른쪽 서브트리를 순회해서 얻은 누적합을 루트에 더하면 된다는 생각으로 풀었다. Given the root of a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is chang... recursiontreedepth first searchBinary Search TreeBinary Search Tree 백준 3584, 가장 가까운 공통 조상 - Tree, DFS, DP, LCA (Lowest Common Ancestor) 입력 트리 노드 정보가 "부모 노드 - 자식 노드" 형태로 주어짐 1) 모든 노드의 깊이, 2^0 번째 부모 (직계 부모) 저장 2) 모든 노드의 2^i 번째 부모 저장 DP 배열 (Sparse Table): int[][] parent = new int[n][21]; n: 트리 노드 개수, 21: 트리 깊이 20이면 충분 parent[nodeIdx][i]: 노드의 2^i 번째 부모 노드의 2... 깊이 우선 탐색Lowest Common Ancestor백준 3584 가장 가까운 공통 조상알고리즘최소 공통 조상dynamic programming코딩 테스트tree그래프 탐색depth first search트리DFS다이나믹 프로그래밍DPLCADFS 백준 1926, 그림 - DFS & BFS 2중 for문으로 도화지 [0][0] ~ [n-1][m-1] 확인 => 해당 지점이 그림(1, true)이고 아직 방문 안한 경우, 해당 지점을 기준으로 탐색 (DFS / BFS) 수행 1) DFS 재귀함수 해당 지점을 기준으로 상하좌우 확인 상하좌우 각각에서 도화지 범위 안이고, 그림이고, 아직 방문 안한 경우, 탐색 확장해나감 (재귀 호출) 2) BFS Queue Queue가 empty ... 깊이 우선 탐색DFS너비 우선 탐색breadth first searchdepth first search백준 1926 그림BFS알고리즘그래프 탐색코딩 테스트BFS